.exceptionContainer {
  display: flex;
  gap: 16px;

  .exception {
    flex: 1;
    padding: 24px;
    background: #fff;
    border-radius: 8px;
    box-sizing: border-box;

    .header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 10px;

      .header_left {
        display: flex;
        font-size: 14px;
        font-weight: 400;
        line-height: 22px;
        color: rgb(0 0 0 / 65%);
        align-items: center;

        .title {
          display: flex;
          margin-right: 20px;
          align-items: center;
        }

        .num {
          padding: 2px 10px;
          margin-left: 5px;
          font-size: 12px;
          background-color: rgb(0 0 0 / 3%);
          border-radius: 10px;
          transform: scale(0.8);
        }
      }

      .header_right {
        display: flex;
        align-items: center;
        gap: 12px;

        .header_right_action {
          height: 28px;
          width: 28px;
          padding: 0;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          border-radius: 6px;
          transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
          color: rgba(0, 0, 0, 0.65);
          position: relative;
          overflow: hidden;

          &::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            height: 100%;
            background: radial-gradient(
              circle,
              rgba(0, 0, 0, 0.06) 0%,
              transparent 70%
            );
            transform: translate(-50%, -50%) scale(0);
            transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            pointer-events: none;
          }

          &:not(:disabled) {
            &:hover {
              background: rgba(0, 0, 0, 0.04);
              transform: scale(1.05);

              &::before {
                transform: translate(-50%, -50%) scale(2);
              }

              :global(.anticon) {
                color: rgba(0, 0, 0, 0.88);
              }
            }

            &:active {
              background: rgba(0, 0, 0, 0.08);
              transform: scale(0.95);

              &::before {
                transform: translate(-50%, -50%) scale(1.5);
              }

              :global(.anticon) {
                transform: rotate(-10deg) scale(0.95);
                color: rgba(0, 0, 0, 0.88);
              }
            }
          }

          &[disabled] {
            color: rgba(0, 0, 0, 0.25);
            background: transparent;
            cursor: not-allowed;
          }

          :global(.anticon) {
            font-size: 16px;
            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
            z-index: 1;
          }
        }

        &_ai_button {
          height: 28px;
          width: 28px;
          padding: 0;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          border-radius: 6px;
          transition: all 0.2s ease;

          .magic_wand {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
            background: linear-gradient(135deg, #722ed1 0%, #1890ff 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            transform: rotate(-15deg);
            transition: all 0.3s ease;
            filter: drop-shadow(0 0 2px rgba(114, 46, 209, 0.3));
            position: relative;

            &::before {
              content: '';
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              bottom: 0;
              background: linear-gradient(135deg, #722ed1 0%, #1890ff 100%);
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
              opacity: 0.5;
              filter: blur(4px);
              transform: scale(1.2);
              z-index: -1;
            }
          }

          &:not(:disabled) {
            &:hover {
              background: rgba(114, 46, 209, 0.08);

              .magic_wand {
                transform: rotate(0deg) scale(1.2);
                filter: drop-shadow(0 0 4px rgba(114, 46, 209, 0.5));

                &::before {
                  opacity: 0.8;
                  transform: scale(1.4);
                  filter: blur(6px);
                }
              }
            }

            &:active {
              background: rgba(114, 46, 209, 0.12);

              .magic_wand {
                transform: rotate(-25deg) scale(0.95);
                filter: drop-shadow(0 0 2px rgba(114, 46, 209, 0.3));

                &::before {
                  opacity: 0.3;
                  transform: scale(1.1);
                  filter: blur(3px);
                }
              }
            }
          }

          &[disabled] {
            color: rgba(0, 0, 0, 0.25);
            background: transparent;
            cursor: not-allowed;
          }

          &.ant-btn-loading .magic_wand {
            opacity: 0;
          }
        }
      }
    }

    .body {
      .loading_box {
        display: flex;
        align-items: center;
      }

      .item {
        box-sizing: border-box;
        position: relative;
        padding: 10px 8px;
        font-size: 14px;
        font-weight: 400;
        color: rgb(0 10 26 / 45%);
        cursor: pointer;
        border-bottom: 1px solid #f7f7f7;

        .itme_tip {
          position: absolute;
          top: -55px;
          right: 200px;
          padding: 0 10px;
          height: 38px;
          font-size: 14px;
          line-height: 38px;
          color: #fff;
          text-align: center;
          background-color: #000;
          border-radius: 8px;
          box-shadow:
            0 3px 6px -4px rgb(0 0 0 / 12%),
            0 6px 16px 0 rgb(0 0 0 / 8%),
            0 9px 28px 8px rgb(0 0 0 / 5%);

          &::before {
            content: '';
            position: absolute;
            bottom: 0;
            left: 30px;
            width: 0;
            height: 0;
            margin-bottom: -15px;
            border: 10px solid transparent;
            border-radius: 8px;
            content: '';
            border-top-color: #000;
          }

          &::after {
            position: absolute;
            bottom: 0;
            left: 30px;
            width: 0;
            height: 0;
            margin-bottom: -15px;
            border: 10px solid transparent;
            border-radius: 8px;
            content: '';
            border-top-color: #000;
          }
        }

        .itme_content {
          display: flex;

          .left {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;

            .title {
              margin-right: 8px;
              font-size: 14px;
              font-weight: 500;
              color: rgb(0 10 26 / 89%);
            }
          }

          .right {
            display: flex;
            flex-direction: column;
            flex: 1;

            .right_top {
              display: flex;
              align-items: center;

              .date,
              .times,
              .tool {
                margin: 0 8px;
                font-size: 14px;
                font-weight: 400;
                color: rgb(0 10 26 / 89%);
              }
            }

            .right_bottom {
              display: flex;
              width: 100%;
              font-size: 12px;
              box-sizing: border-box;
              align-items: center;

              .label {
                font-weight: 400;
                line-height: 24px;
                color: rgb(0 10 26 / 45%);
              }

              .value {
                width: 0;
                overflow: hidden;
                font-weight: 400;
                color: rgb(0 10 26 / 89%);
                text-overflow: ellipsis;
                white-space: nowrap;
                flex: 1;
              }
            }
          }
        }
      }

      .item:hover {
        box-sizing: border-box;
        box-shadow:
          0 1px 2px -2px rgb(0 0 0 / 16%),
          0 3px 6px 0 rgb(0 0 0 / 12%),
          0 5px 12px 4px rgb(0 0 0 / 9%);
        border-radius: 8px;
      }

      .content_empty {
        display: flex;
        justify-content: center;
        align-items: center;
      }
    }

    .content_wrapper {
      display: flex;
      gap: 24px;
    }

    .list_container {
      width: 100%;
      transition: width 0.3s ease;
    }

    .footer {
      margin-top: 16px;
      font-size: 14px;
      font-weight: 500;
      color: #2f54eb;

      .btn {
        cursor: pointer;
      }
    }
  }

  .interpret_panel {
    width: 400px;
    border-radius: 12px;
    box-shadow:
      0 8px 24px rgba(149, 128, 247, 0.08),
      0 2px 4px rgba(149, 128, 247, 0.12);
    border: 1px solid rgba(149, 128, 247, 0.15);
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    background-image: radial-gradient(
        ellipse 489px 674px at 6px 0px,
        #ffffff 0%,
        #f3efff 100%
      ),
      radial-gradient(
        ellipse 587px 672px at 433px 513px,
        #ece6ff95 0%,
        #f0e9ff30 100%
      ),
      radial-gradient(
        ellipse 346px 396px at 15px 506px,
        #e9e3ff90 0%,
        #f0e9ff30 100%
      ),
      radial-gradient(
        ellipse 583px 668px at 436px 8px,
        #ffffff 0%,
        #f5f0ff30 100%
      );
    position: relative;
    overflow: hidden;

    &::before {
      content: '';
      position: absolute;
      top: -50%;
      left: -50%;
      width: 200%;
      height: 200%;
      background: radial-gradient(
        circle at center,
        rgba(149, 128, 247, 0.03) 0%,
        transparent 70%
      );
      animation: rotate 60s linear infinite;
      pointer-events: none;
    }

    .interpret_header {
      padding: 12px 16px;
      border-bottom: 1px solid rgba(149, 128, 247, 0.15);
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top-left-radius: 12px;
      border-top-right-radius: 12px;
      font-size: 16px;
      font-weight: 500;
      color: #000;
      backdrop-filter: blur(8px);
      background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0.95),
        rgba(243, 239, 255, 0.95)
      );

      .interpret_header_stopButton {
        transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 6px;
        margin-right: 8px;
        position: relative;
        overflow: hidden;

        &::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          background: rgba(255, 77, 79, 0);
          transition: background 0.3s ease;
          z-index: 0;
        }

        :global(.anticon) {
          font-size: 16px;
          transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
          position: relative;
          z-index: 1;
        }

        &:hover {
          color: #ff4d4f;
          transform: scale(1.05);

          &::before {
            background: rgba(255, 77, 79, 0.15);
          }

          :global(.anticon) {
            transform: rotate(180deg) scale(1.1);
          }
        }

        &:active {
          transform: scale(0.95);

          &::before {
            background: rgba(255, 77, 79, 0.25);
          }
        }
      }

      button {
        transition: all 0.3s ease;
        border-radius: 6px;
        width: 28px;
        height: 28px;
        display: flex;
        align-items: center;
        justify-content: center;

        &:hover {
          color: #fff;
          background: rgba(147, 112, 219, 0.2);
          transform: scale(1.05);
        }

        &:active {
          transform: scale(0.95);
        }
      }

      .interpret_close {
        cursor: pointer;
        color: #999;
        transition: all 0.3s ease;
        padding: 4px;
        border-radius: 4px;

        &:hover {
          color: #000;
          background: rgba(0, 0, 0, 0.06);
        }
      }
    }

    .interpret_body {
      position: relative;
      overflow-y: auto;
      height: 100%;
      box-sizing: border-box;
      border-radius: 0 0 12px 12px;

      &::-webkit-scrollbar {
        width: 8px;
        height: 8px;
      }

      &::-webkit-scrollbar-track {
        background: rgba(147, 112, 219, 0.05);
        border-radius: 4px;
      }

      &::-webkit-scrollbar-thumb {
        background: rgba(147, 112, 219, 0.2);
        border-radius: 4px;
        border: 2px solid transparent;
        background-clip: padding-box;

        &:hover {
          background: rgba(147, 112, 219, 0.3);
          border: 2px solid transparent;
          background-clip: padding-box;
        }
      }

      .interpret_content {
        color: #000;
        border-radius: 0 0 12px 12px;
        padding: 20px 16px;
        font-size: 14px;
        line-height: 1.6;
        box-sizing: border-box;
        word-wrap: break-word;

        .interpret_loading {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          height: 100%;
          gap: 16px;
          text-align: center;
          color: rgba(230, 230, 250, 0.85);

          :global(.ant-spin) {
            .ant-spin-dot-item {
              background-color: #9370db;
            }
          }

          p {
            font-size: 14px;
            margin-top: 16px;
            color: rgba(230, 230, 250, 0.85);
          }
        }

        .interpret_error {
          margin: 16px;
          border-radius: 6px;
        }

        h1,
        h2,
        h3 {
          color: #000;
          margin-bottom: 16px;
          font-weight: 600;
          letter-spacing: -0.01em;
        }

        h1 {
          font-size: 20px;
        }

        h2 {
          font-size: 18px;
          margin-top: 10px;
          padding-bottom: 8px;
          border-bottom: 1px solid rgba(147, 112, 219, 0.2);
        }

        h3 {
          font-size: 16px;
          margin-top: 20px;
        }

        p {
          margin-bottom: 16px;
          line-height: 1.7;
        }

        ul,
        ol {
          padding-left: 24px;
          margin-bottom: 16px;
        }

        li {
          margin-bottom: 8px;
        }

        code {
          background: rgba(147, 112, 219, 0.1);
          padding: 2px 6px;
          border-radius: 4px;
          font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
          font-size: 13px;
        }

        pre {
          background: #000;
          padding: 16px;
          border-radius: 8px;
          margin-bottom: 16px;
          overflow-x: auto;
          border: 1px solid rgba(147, 112, 219, 0.1);

          &::-webkit-scrollbar {
            width: 8px;
            height: 8px;
          }

          &::-webkit-scrollbar-track {
            background: rgba(214, 199, 244, 0.05);
            border-radius: 4px;
          }

          &::-webkit-scrollbar-thumb {
            background: rgba(237, 234, 242, 0.3);
            border-radius: 4px;
            border: 2px solid transparent;
            background-clip: padding-box;

            &:hover {
              background: rgba(147, 112, 219, 0.3);
              border: 2px solid transparent;
              background-clip: padding-box;
            }
          }

          code {
            background: none;
            padding: 0;
            color: #fff;
          }
        }

        :global {
          .markdown-body {
            color: #d4d4d4;
            background: transparent;
            padding: 16px;

            h1,
            h2,
            h3,
            h4,
            h5,
            h6 {
              color: rgba(230, 230, 250, 0.95);
              border-bottom: 1px solid rgba(147, 112, 219, 0.2);
              margin-top: 24px;
              margin-bottom: 16px;
              font-weight: 600;
              line-height: 1.25;
            }

            h1 {
              font-size: 24px;
            }

            h2 {
              font-size: 20px;
            }

            h3 {
              font-size: 18px;
            }

            h4 {
              font-size: 16px;
            }

            h5 {
              font-size: 14px;
            }

            h6 {
              font-size: 13px;
            }

            pre {
              background: rgba(0, 0, 0, 0.4);
              border: 1px solid rgba(147, 112, 219, 0.5);
              border-radius: 6px;
              padding: 12px;
              margin: 12px 0;
              overflow-x: auto;

              code {
                background: transparent;
                padding: 0;
                color: #f0e6ff;
              }
            }

            code {
              background: rgba(147, 112, 219, 0.2);
              padding: 2px 6px;
              border-radius: 4px;
              color: #f0e6ff;
              font-family: 'Menlo', 'Monaco', 'Courier New', monospace;
            }

            ul,
            ol {
              padding-left: 24px;
              margin: 8px 0;

              li {
                margin: 4px 0;
              }
            }

            blockquote {
              color: rgba(230, 230, 250, 0.85);
              border-left: 4px solid rgba(147, 112, 219, 0.4);
              background: rgba(147, 112, 219, 0.1);
              margin: 16px 0;
              padding: 12px 16px;
              border-radius: 0 8px 8px 0;
            }

            a {
              color: #9370db;
              text-decoration: none;
              transition: all 0.2s ease;
              border-bottom: 1px solid transparent;

              &:hover {
                color: lighten(#9370db, 10%);
                border-bottom-color: currentColor;
              }
            }

            table {
              border-collapse: separate;
              border-spacing: 0;
              width: 100%;
              margin: 16px 0;
              border-radius: 8px;
              border: 1px solid rgba(147, 112, 219, 0.2);
              overflow: hidden;

              th,
              td {
                border: 1px solid rgba(147, 112, 219, 0.2);
                padding: 12px;
              }

              th {
                background: rgba(147, 112, 219, 0.1);
                font-weight: 600;
                text-align: left;
              }

              tr {
                background-color: transparent;
                transition: background-color 0.2s ease;

                &:nth-child(2n) {
                  background-color: rgba(147, 112, 219, 0.05);
                }

                &:hover {
                  background-color: rgba(147, 112, 219, 0.1);
                }
              }
            }

            hr {
              border: none;
              height: 1px;
              background: linear-gradient(
                to right,
                rgba(147, 112, 219, 0.1),
                rgba(147, 112, 219, 0.4),
                rgba(147, 112, 219, 0.1)
              );
              margin: 24px 0;
            }
          }
        }
      }

      .streaming_indicator {
        display: flex;
        align-items: center;
        gap: 4px;
        padding: 16px;

        .dot {
          width: 6px;
          height: 6px;
          background-color: #4447c3;
          border-radius: 50%;
          opacity: 0.3;
          animation: dotPulse 1.4s infinite;

          &:nth-child(2) {
            animation-delay: 0.2s;
          }

          &:nth-child(3) {
            animation-delay: 0.4s;
          }
        }
      }

      .streaming_indicatorFixed {
        position: sticky;
        bottom: 0;
        left: 0;
        right: 0;
      }
    }
  }
}

@keyframes dotPulse {
  0% {
    opacity: 0.3;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0.3;
  }
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
